This is less concise than the current ad-hoc parsing, but gets
us error handling ("unknown option --foo") and is easier to
extend.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2712>
EOF
}
+TEMP=$(getopt \
+ --name=$(basename $0) \
+ --options=D \
+ -- "$@")
+
+eval set -- "$TEMP"
+unset TEMP
+
MESON_OPTIONS=()
-while [[ $1 =~ ^-D ]]; do
- MESON_OPTIONS+=( "$1" )
- shift
+while true; do
+ case "$1" in
+ -D)
+ MESON_OPTIONS+=( -D$2 )
+ shift 2
+ ;;
+
+ --)
+ shift
+ break
+ ;;
+ esac
done
if [[ $# -lt 4 ]]; then